package com.aiti.lulian.service;

import com.aiti.base.core.base.service.BaseService;
import com.aiti.base.core.utils.message.Message;
import com.aiti.lulian.dto.EnterpriseDto;
import com.aiti.lulian.dto.WeChatUserCardHolderDto;
import com.aiti.lulian.entity.CardEnterpriseUserData;
import com.aiti.lulian.vo.CardEnterpriseUserDataByBaseIdVo;
import com.aiti.lulian.vo.CardEnterpriseUserDataVo;
import com.aiti.lulian.vo.CardHolderVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

public interface CardEnterpriseUserDataService extends BaseService<CardEnterpriseUserData> {
    List<CardEnterpriseUserData> enterpriseUserDataCount(Page page, CardEnterpriseUserDataVo vo);

    Message createCardAndAccessRecord(String userId, String enterpriseId, String source, String creator);

    List<CardHolderVo> findUserCardandCardHolder(WeChatUserCardHolderDto weChatUserCardHolderDto);

    CardEnterpriseUserDataByBaseIdVo findUserCardInfoByBaseId(String userId, String currentUserId, String from, String loginCode, String source);

    Message collectUserCard(WeChatUserCardHolderDto weChatUserCardHolderDto);

    Message myPublishCount(WeChatUserCardHolderDto weChatUserCardHolderDto);

    void deleteCardAndAccessAndHolder(String userId, String enterpriseId);

    Message deleteCardHolder(String baseId);

    Message add(String userId, String enterpriseId, String source);

    Message setIsCustom(EnterpriseDto enterpriseDto);

    boolean hasCard(String phoneNumber);
}
